From 120b36053462ca2e481f628d37bc00952cd68401 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc kop@karlpinc.com" Date: Sat, 11 Jul 2026 22:58:25 +0000 Subject: [PATCH] Consistently report WATCHES.Type in error messages --- db/schemas/lib/triggers/create/roles.m4 | 82 +++++++++++++++++-------- 1 file changed, 56 insertions(+), 26 deletions(-) diff --git a/db/schemas/lib/triggers/create/roles.m4 b/db/schemas/lib/triggers/create/roles.m4 index 94399b0..2afbace 100644 --- a/db/schemas/lib/triggers/create/roles.m4 +++ b/db/schemas/lib/triggers/create/roles.m4 @@ -80,10 +80,11 @@ CREATE OR REPLACE FUNCTION roles_func () DECLARE a_animid watches.animid%TYPE; a_date watches.date%TYPE; + a_type watches.type%TYPE; BEGIN - SELECT watches.animid, watches.date - INTO a_animid , a_date + SELECT watches.animid, watches.date, watches.type + INTO a_animid , a_date , a_type FROM watches WHERE watches.wid = a_wid; IF FOUND THEN @@ -113,6 +114,8 @@ CREATE OR REPLACE FUNCTION roles_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || ')'; END IF; END; @@ -234,6 +237,7 @@ CREATE OR REPLACE FUNCTION roles_func () a_participant roles.participant%TYPE; a_animid watches.animid%TYPE; + a_type watches.type%TYPE; a_date DATE; a_commid comm_ids.commid%TYPE; @@ -246,8 +250,8 @@ CREATE OR REPLACE FUNCTION roles_func () AND roles.pid <> NEW.pid; IF FOUND THEN - SELECT watches.animid, watches.date, watches.commid - INTO a_animid , a_date , a_commid + SELECT watches.animid, watches.date, watches.type, watches.commid + INTO a_animid , a_date , a_type , a_commid FROM watches WHERE watches.wid = a_wid; @@ -284,6 +288,8 @@ CREATE OR REPLACE FUNCTION roles_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || ')'; @@ -307,6 +313,7 @@ CREATE OR REPLACE FUNCTION roles_func () a_participant roles.participant%TYPE; a_animid watches.animid%TYPE; + a_type watches.type%TYPE; a_date DATE; a_commid comm_ids.commid%TYPE; @@ -328,8 +335,8 @@ CREATE OR REPLACE FUNCTION roles_func () OR (NEW.role <> 'sdb_unkpair' AND a_behavior = 'sdb_grooming')))) THEN - SELECT watches.animid, watches.date, watches.commid - INTO a_animid , a_date , a_commid + SELECT watches.animid, watches.date, watches.type, watches.commid + INTO a_animid , a_date , a_type , a_commid FROM watches WHERE watches.wid = a_wid; @@ -356,6 +363,8 @@ CREATE OR REPLACE FUNCTION roles_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || ')'; @@ -381,8 +390,8 @@ CREATE OR REPLACE FUNCTION roles_func () AND roles.role = NEW.role; IF FOUND THEN - SELECT watches.animid, watches.date, watches.commid - INTO a_animid , a_date , a_commid + SELECT watches.animid, watches.date, watches.type, watches.commid + INTO a_animid , a_date , a_type , a_commid FROM watches WHERE watches.wid = a_wid; @@ -422,6 +431,8 @@ CREATE OR REPLACE FUNCTION roles_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || ')'; @@ -443,11 +454,12 @@ CREATE OR REPLACE FUNCTION roles_func () DECLARE a_animid watches.animid%TYPE; a_date watches.date%TYPE; + a_type watches.type%TYPE; a_commid watches.commid%TYPE; BEGIN - SELECT watches.animid, watches.date, watches.commid - INTO a_animid , a_date , a_commid + SELECT watches.animid, watches.date, watches.type, watches.commid + INTO a_animid , a_date , a_type ,a_commid FROM watches WHERE watches.wid = a_wid AND NEW.participant <> watches.animid; @@ -475,6 +487,8 @@ CREATE OR REPLACE FUNCTION roles_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || ')'; @@ -497,13 +511,14 @@ CREATE OR REPLACE FUNCTION roles_func () a_animid watches.animid%TYPE; a_date watches.date%TYPE; + a_type watches.type%TYPE; a_commid watches.commid%TYPE; BEGIN SELECT roles.pid, roles.role, roles.participant - , watches.animid, watches.date, watches.commid + , watches.animid, watches.date, watches.type, watches.commid INTO a_pid , a_role , a_participant - , a_animid , a_date , a_commid + , a_animid , a_date , a_type , a_commid FROM roles , watches WHERE roles.eid = NEW.eid @@ -546,6 +561,8 @@ CREATE OR REPLACE FUNCTION roles_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || ')' @@ -577,6 +594,7 @@ CREATE OR REPLACE FUNCTION roles_delete_func () a_wid watches.wid%TYPE; a_animid watches.animid%TYPE; a_date watches.date%TYPE; + a_type watches.type%TYPE; a_commid watches.commid%TYPE; -- ARRIVALS @@ -593,11 +611,13 @@ CREATE OR REPLACE FUNCTION roles_delete_func () -- Arrival events must have a related participant -- (Because otherwise we cannot sequence them per arriving individual.) SELECT events.start, events.stop - , watches.wid, watches.animid, watches.date, watches.commid + , watches.wid + , watches.animid, watches.date, watches.type, watches.commid , arrivals.seq, arrivals.neststart, arrivals.nestend , arrivals.cycle INTO a_start , a_stop - , a_wid , a_animid , a_date , a_commid + , a_wid + , a_animid , a_date , a_type , a_commid , a_seq , a_neststart , a_nestend , a_cycle FROM events @@ -630,6 +650,8 @@ CREATE OR REPLACE FUNCTION roles_delete_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || '), Key (EID) = (' @@ -798,11 +820,11 @@ CREATE OR REPLACE FUNCTION roles_insert_commit_func () -- the focal. SELECT events.behavior ,events.start, events.stop - , watches.wid, watches.animid, watches.date, watches.commid - , watches.type + , watches.wid + , watches.animid, watches.date, watches.type, watches.commid INTO a_behavior , a_start , a_stop - , a_wid , a_animid , a_date , a_commid - , a_type + , a_wid + , a_animid , a_date , a_type , a_commid FROM events JOIN watches ON (watches.wid = events.wid) WHERE events.eid = NEW.eid @@ -912,11 +934,11 @@ CREATE OR REPLACE FUNCTION roles_delete_commit_func () AND actee_count = 0)) THEN SELECT events.behavior ,events.start, events.stop - , watches.wid, watches.animid, watches.date, watches.commid - , watches.type + , watches.wid + , watches.animid, watches.date, watches.type, watches.commid INTO a_behavior , a_start , a_stop - , a_wid , a_animid , a_date , a_commid - , a_type + , a_wid + , a_animid , a_date , a_type , a_commid FROM events JOIN watches ON (watches.wid = events.wid) WHERE events.eid = OLD.eid; @@ -1031,9 +1053,11 @@ CREATE OR REPLACE FUNCTION roles_delete_commit_func () -- the focal. SELECT events.behavior ,events.start, events.stop - , watches.wid, watches.animid, watches.date, watches.commid + , watches.wid + , watches.animid, watches.date, watches.type, watches.commid INTO a_behavior , a_start , a_stop - , a_wid , a_animid , a_date , a_commid + , a_wid + , a_animid , a_date , a_type , a_commid FROM events JOIN watches ON (watches.wid = events.wid) WHERE events.eid = OLD.eid @@ -1069,6 +1093,8 @@ CREATE OR REPLACE FUNCTION roles_delete_commit_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || ')'; @@ -1078,11 +1104,13 @@ CREATE OR REPLACE FUNCTION roles_delete_commit_func () -- a participant. SELECT events.behavior ,events.start, events.stop - , watches.wid, watches.animid, watches.date, watches.commid + , watches.wid + , watches.animid, watches.date, watches.type, watches.commid , groomings.initiator, groomings.terminator , groomings.problems, groomings.extractedby INTO a_behavior , a_start , a_stop - , a_wid , a_animid , a_date , a_commid + , a_wid + , a_animid , a_date , a_type , a_commid , a_initiator , a_terminator , a_problems , a_extractedby FROM events @@ -1129,6 +1157,8 @@ CREATE OR REPLACE FUNCTION roles_delete_commit_func () || a_animid || '), Value (WATCHES.Date) = (' || a_date + || '), Value (WATCHES.Type) = (' + || a_type || '), Value (WATCHES.CommID) = (' || a_commid || '), Value (GROOMINGS.Initiator) = (' -- 2.34.1